scrapbox上でnote (Anki)を記述する案1
編集しやすくするために、複数のformatで書けるようにしたい
必要な情報
gyazoで使われている/[a-f0-9]{32}/の衝突確率
生成速度1000IDs/hで1%の衝突確率を得るのに~298billion yearsかかる
/[a-zA-Z0-9]{18}/が~219million years
このくらいあれば十分だろう
/[a-zA-Z0-9]{18}/を採用する
✅Ankiが内部で使っているID生成アルゴリズムをそのまま使った タグ (optional)
id
exportする際のapkgのnotes table上で一意であればいいので、適当な値をprogram側で自動生成すればいい
updated
行の更新日時を使えばいい
インライン方式
一行で書く
1行1ノートとして、テーブル記法で書く方法もある
テーブル方式
fieldの中身が1行で済むならこれが楽
リンクをつなげたままにできるのもよい
同じnote typeを使ったnoteが書き込まれたすべてのページがつながってしまうのは欠点かも
table:note
guid Tf6rEx
Front {{c1::日本}}の{{c2::首都}}は{{c3::東京}}である
コードブロック方式
fieldに複数行詰め込みたいときはこれしかない
穴埋め問題とかだとこうせざるをえない
code:1.note
{{c1::follow her advice}}
{{c2::彼女の助言に従う}}
リンク置換不能なのが面倒
リンクさせたいとき、コードブロック中と同じ説明を別途記さなければならない
コードブロックと同じインデントの行を、コードブロック内の行として認識させればリンク付きにできる?
https://gyazo.com/555295a6a96aeee8770243e9eead5906
同じ説明を二回書いても大したことないか
拡張子で複数のfieldを表現する
例
code::%Y4u,z/).note
You must {{c1::carry out}} the plan as soon as possible.
君はすぐに計画{{c2::を実行する}}必要がある。
code::%Y4u,z/).note.ref
code::%Y4u,z/).note.tag
システム英熟語,Tr.3-05
わざわざコードブロックにする必要のないのもあるな……
メインのfield以外は、table記法で表現する
例
code:;)f$&p&/.note
You must {{c1::carry out}} the plan as soon as possible.
君はすぐに計画{{c2::を実行する}}必要がある。
table:;)f$&p&/.note
tag システム英熟語,Tr.3-05
2023-04-09
2023-02-14 05:56:07 最初から一般的な形式を考えるのではなく、一番必要な形式だけに特化させて始めよう
最初から一般的な形式で作ろうとすると、コストも手戻りもかかる